package com.smarthome.core.account;

import java.util.List;

import com.smarthome.domain.bean.ShAccountType;
import com.smarthome.domain.bean.ShAccountTypeResource;
import com.smarthome.domain.vo.boss.Combobox;
import com.smarthome.domain.vo.boss.DataGrid;
import com.smarthome.domain.vo.boss.PageHelper;

/**
 * 
* @author zyf
* @date 2015年9月14日 下午9:21:14
* @version 1.0
* @Description: 平台用户类型服务接口
 */
public interface AccountTypeService {
	
	/**
	 * 获取分页平台用户类型分页对象
	 * @param accountType
	 * @param page
	 * @return
	 */
	DataGrid queryDataGrid(ShAccountType accountType,PageHelper page);
	
	/**
	 * 根据条件获取平台用户类型集合
	 * @param accountType
	 * @return
	 */
	List<ShAccountType> queryAccountTypesByCondition(ShAccountType accountType);
	
	/**
	 * 根据平台用户类型ID获取类型-功能中间表数据集合
	 * @param typeId
	 * @return
	 */
	List<ShAccountTypeResource> queryTypeFeaturesByTypeId(Long typeId);
	
	/**
	 * 根据ID获取平台用户类型
	 * @param id
	 * @return
	 */
	ShAccountType queryAccountTypeById(Long id);
	
	/**
	 * 新增平台用户类型
	 * @param accountType
	 */
	void add(ShAccountType accountType,Long[] features);
	
	/**
	 * 更改平台用户类型
	 * @param accountType
	 */
	void edit(ShAccountType accountType,Long[] features);
	
	/**
	 * 删除平台用户类型
	 * @param accountType
	 */
	void delete(Long id);
	
	/**
	 * 获取下拉用户类型
	 * @return
	 */
	List<Combobox> getCombobox();
}
